/**
 * @file tsk_bitmap.h
 * @brief tskp库 - 位图管理模块头文件
 * @details
 * 本文件声明了tskp任务调参库的位图结构体及相关操作接口。
 * 位图用于任务ID等资源的高效分配与管理，适合嵌入式、实时系统下的静态资源管理场景。
 *
 * 作者：小傲（个人开发）
 * 邮箱：2655640770@qq.com
 * 版权声明：开源公开，欢迎建议与反馈
 * 日期：2025-09-11
 */

#ifndef _TAK_BITMAP_H_
#define _TAK_BITMAP_H_

#include "tsk_misc.h"

#ifdef _TSK_TSKP_

// 位图结构体
typedef struct{
    uint32_t data[TSK_TASK_ID_BITMAP_SIZE]; //位图数据
    size_t  size;   //位图大小（以uint32_t为单位）
}tsk_Bitmap_t;      //位图

bool tsk_Bitmap_Init(tsk_Bitmap_t* tsk_Bitmap);
bool tsk_Bitmap_set(tsk_Bitmap_t* tsk_Bitmap,size_t index);
bool tsk_Bitmap_clear(tsk_Bitmap_t* tsk_Bitmap,size_t index);
bool tsk_Bitmap_test(tsk_Bitmap_t* tsk_Bitmap,size_t index);

#endif // _TSK_TSKP_

#endif
